K - Stones
まず、結果側から考えてみることが大切
よく分からん→とにかく表にして考えてみる
を実行してみます。
一つの山があって、そこから選択肢を選んで石を取っていく時、先手側が勝つか?負けるか?
こういうのは必勝必敗が決まっていることが多いです。まず、結果側から考えてみます。先手は太郎くんです。
選べる選択肢は{ 2, 3 }としてみます。つまり太郎くん、次郎くんは「2つ取る」か「3つ取る」の動きしかできない、という設定で考えていきます。
山にある石の個数が0 → 太郎くんは何もできない → 負け
山にある石の個数が1 → 太郎くんは何もできない → 負け
山にある石の個数が2 → 太郎くんが2個取れば、相手のターンの時に0になり、相手が負ける → 勝ち
山にある石の個数が3 → 太郎くんが2or3個取れば相手は行動不能になり、相手は負ける → 勝ち
山にある石の個数が4 → 太郎くんが3個取れば、残り1で相手に渡る → 相手が負ける → 勝ち
山にある石の個数が5 → 太郎くんが2個取ったら残り3 → 相手に0にされる → 負け(3個取ったとしても、相手に2個取られて負け)
ざっと書いてみました。これを図にしてみます。
https://gyazo.com/c1376ca9e75c2d030ffd7103bc7ea72a
0や1は、ここから「2個取る」「3個取る」という動作をできないのでその時点で負けが確定します。つまり、
「0を引いたもん負け」「1を引いたもん負け」ということです。
2,3,4は、自分が2や3をうまいこと使うことで相手に0や1を必ず引かせることができるので、勝つことができます。
(例)4なら、自分が3つ取れば1の状態で相手に渡り、「1を引いたもん負け」なので相手が負け、自分は勝つ
https://gyazo.com/08d04fd970dfefdeb4a62855aef54b5d